<?php


namespace app\common\model;

// 废弃 ！！！！！！
class StatCity extends Base
{
    /**
     * 操作：添加分发设置
     * 修改 stat_city 城市需求满足率 统计数据
     * @params array $push_data 分发设置数组
     */
    public function modifyByAddPush($push_data)
    {
        return true;
        if (empty($push_data)) {
            return false;
        }
        $today = date('Y-m-d');

        $this->checkStatUpdate($today, $push_data['pro_id'], $push_data['city']);

        return true;
    }

    /**
     * 操作：编辑分发设置
     * 修改 stat_city 城市需求满足率 统计数据
     * @params array $push_old_data 分发设置数组
     * @params array $push_new_data 分发设置数组
     */
    public function modifyByEditPush($push_old_data, $push_new_data)
    {
        return true;
        if (empty($push_new_data) || empty($push_old_data)) {
            return false;
        }
        $today = date('Y-m-d');
        if ($push_old_data['city'] != $push_new_data['city'] || $push_old_data['pro_id'] != $push_new_data['pro_id']) {
            $this->checkStatUpdate($today, $push_old_data['pro_id'], $push_old_data['city']);
            $this->checkStatUpdate($today, $push_new_data['pro_id'], $push_new_data['city']);
        } else {
            $this->checkStatUpdate($today, $push_new_data['pro_id'], $push_new_data['city']);
        }
        return true;
    }

    /**
     * 操作：删除分发设置
     * 修改 stat_city 城市需求满足率 统计数据
     * @params array $push_data 分发设置数组
     */
    public function modifyByDelPush($push_data)
    {
        return true;
        if (empty($push_data)) {
            return false;
        }
        $today = date('Y-m-d');
        //删除 则把统计数据减掉

        $this->checkStatUpdate($today, $push_data['pro_id'], $push_data['city']);
        return true;
    }

    /**
     * 操作：启用 停用分发设置
     * 修改 stat_city 城市需求满足率 统计数据
     * @params array $push_data 分发设置数组
     */
    public function modifyByStatusPush($push_data)
    {
        return true;
        if (empty($push_data)) {
            return false;
        }

        $today = date('Y-m-d');

        //启用 停用 则把统计数据减掉或增加
        $this->checkStatUpdate($today, $push_data['pro_id'], $push_data['city']);

        return true;
    }

    // 查询数据重新入库
    private function checkStatUpdate($day, $pro_id, $city)
    {
        return true;
        $exist = \db('stat_city')
            ->where('city', $city)
            ->where('create_date', $day)
            ->where('pro_id', $pro_id)
            ->find();

        $datetime = $day;
        $infos = \db('push')
            ->alias('a')
            ->join('merchant b','b.id=a.mer_id')
            ->field('count(a.id) num,city,sum(up_limit) up_limit, pro_id')
            ->where('a.status', 1)
            ->where('b.status', 1)
            ->where('a.start_time', "<=", $datetime)
            ->where('a.end_time', ">=", $datetime)
            ->where('a.delete_time', null)
            ->where('a.pro_id', $pro_id)
            ->where('a.city', $city)
            ->group('city,pro_id')
            ->find();

        if (empty($exist) || empty($infos)) {
            return false;
        }

        $update = [];
        if ($infos['up_limit'] > $exist['accept_limit_num']) { // 当天的规则接收数 大于统计的数量时增加最大接收线索数
            $update['accept_limit_num'] = $infos['up_limit'];
        }

        if ($infos['num'] != $exist['push_num']) { // 当天的规则数 不等于 统计的规则数时修改
            $update['push_num'] = $infos['num'];
        }

        if (!empty($update)) {
            \db('stat_city')
                ->where('city', $city)
                ->where('create_date', $day)
                ->where('pro_id', $pro_id)
                ->update($update);
        }

        return true;
    }

}